<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN">
<HTML>
<HEAD>
<TITLE>SGMLNORM</TITLE>
</HEAD>
<BODY>
<H1>SGMLNORM</H1>
<H4>
An SGML System Conforming to
International Standard ISO 8879 --<BR>
Standard Generalized Markup Language
</H4>
<H2>SYNOPSIS</H2>
<P>
<SAMP>sgmlnorm</SAMP>
[
<SAMP>-Cdemnv</SAMP>
]
[
<SAMP>-b<VAR>bctf</VAR></SAMP>
]
[
<SAMP>-c<VAR>catalog</VAR></SAMP>
]
[
<SAMP>-D<VAR>dir</VAR></SAMP>
]
[
<SAMP>-i<VAR>name</VAR></SAMP>
]
[
<SAMP>-w<VAR>warning</VAR></SAMP>
]
<SAMP><VAR>sysid...</VAR></SAMP>

<H2>DESCRIPTION</H2>
<P>
Sgmlnorm prints on the standard output a <I>normalized</I> document instance
for the SGML document contained in the concatenation of the entities
with <A HREF="sysid.htm">system identifiers</A>
<SAMP><VAR>sysid...</VAR></SAMP>.
<P>
When the normalized instance is prefixed with the original SGML declaration
and prolog, it will have the same ESIS as the original SGML document,
with the following exceptions:
<UL>
<LI>
The output of sgmlnorm does not protect against the recognition of
short reference delimiters, so any <SAMP>USEMAP</SAMP> declarations
must be removed from the DTD.
<LI>
The normalized instance will use the reference delimiters, even if the
original instance did not.
<LI>
If marked sections are included in the output using the
<SAMP>-m</SAMP> option, the reference reserved names will be used for
the status keywords even if the original instance did not.
<LI>
Any ESIS information relating to the SGML LINK feature will be lost.
</UL>
<P>
The normalized instance will not use any markup minimization features
except that:
<UL>
<LI>
Any attributes that were not specified in the original instance
will not be included in the normalized instance.
(Current attributes will be included.)
<LI>
If the declared value of an attribute was a name token group,
and a value was specified that was the same as the name of
the attribute, then the attribute name and value indicator will be
omitted.
For example, with HTML sgmlnorm would output <CODE>&lt;DL COMPACT&gt;</CODE>
rather than <CODE>&lt;DL COMPACT="COMPACT"&gt;</CODE>
</UL>
<P>
The following options are available:
<DL>
<DT>
<SAMP>-b<VAR>bctf</VAR></SAMP>
<DD>
Use the <A HREF="sysid.htm#bctf">BCTF</A> with name
<SAMP><VAR>bctf</VAR></SAMP>
for output.
<DT>
<SAMP>-c<VAR>file</VAR></SAMP>
<DD>
Use the catalog entry file
<SAMP><VAR>file</VAR></SAMP>.
<DT>
<SAMP>-C</SAMP>
<DD>
This has the same effect as in <A HREF="nsgmls#optC">nsgmls</A>.
<DT>
<SAMP>-d</SAMP>
<DD>
Output a document type declaration with the same external
identifier as the input document, and with no
internal declaration subset.
No check is performed that the document instance is valid
with respect to this DTD.
<DT>
<SAMP>-D<VAR>directory</VAR></SAMP>
<DD>
Search
<SAMP><VAR>directory</VAR></SAMP>
for files specified in system identifiers.
This has the same effect as in <A HREF="nsgmls.htm#optD">nsgmls</A>.
<DT>
<SAMP>-e</SAMP>
<DD>
Describe open entities in error messages.
<DT>
<SAMP>-i<VAR>name</VAR></SAMP>
<DD>
This has the same effect as in <A HREF="nsgmls.htm#opti">nsgmls</A>.
<DT>
<SAMP>-m</SAMP>
<DD>
Output any marked sections that were in the input document instance.
<DT>
<SAMP>-n</SAMP>
<DD>
Output any comments that were in the input document instance.
<DT>
<SAMP>-r</SAMP>
<DD>
Raw output.
Don't perform any conversion on RSs and REs when printing the entity.
The entity would typically have the storage manager attribute
<SAMP>records=asis</SAMP>.
<DT>
<SAMP>-v</SAMP>
<DD>
Print the version number.
<DT>
<SAMP>-w<VAR>type</VAR></SAMP>
<DD>
Control warnings and errors according to
<SAMP><VAR>type</VAR></SAMP>.
This has the same effect as in <A HREF="nsgmls.htm#optw">nsgmls</A>.
</DL>
<P>
<ADDRESS>
James Clark<BR>
jjc@jclark.com
</ADDRESS>
</BODY>
</HTML>
